package com.nercel.dsj.gksales.service;

import com.nercel.dsj.gksales.model.ListResult;
import com.nercel.dsj.gksales.model.PayServiceType;
import com.nercel.dsj.gksales.model.PayType;
import com.nercel.dsj.gksales.model.QueryParams;
import com.nercel.dsj.gksales.model.dto.PaymentResultDTO;
import com.nercel.dsj.gksales.model.entity.Payment;

/**
 * @author sunlin
 * @date 2018-10-31
 */
public interface PaymentService extends DaoBaseService<Payment, Integer> {

    PaymentResultDTO findById(Integer id);

    ListResult<PaymentResultDTO> listWithPaging(QueryParams queryParams);

    Payment findByOrderNumber(String orderNumber);

    void savePayment(String orderNumber, Double totalAmount, Integer count,
                     Integer userId, PayType payType, PayServiceType payServiceType, String data);

}
